home *** CD-ROM | disk | FTP | other *** search
Wrap
function flms_check_access(tmp_dir) { if (!flms_check_user()) flms_run_error("access",tmp_dir); } function flms_check_user() { var tmp_return = false; USERNAME = get_cookie_value("username",""); if (USERNAME != "") tmp_return = true; KARTA_USER = get_cookie_value("KU_" + PROG_ID + "_" + USERNAME + "_user",""); FIRST_NAME = get_sub_cookie_value("fn",KARTA_USER,""); LAST_NAME = get_sub_cookie_value("ln",KARTA_USER,""); return tmp_return } function flms_check_url() { //check URL for username and password USERNAME = get_url_value('username'); PASSWORD = decrypt(get_url_value('password'), generate_key(),122,48); if ((USERNAME != null) && (PASSWORD != null)) { //need to log in user if (flms_verify_user()) { flms_set_session_cookie(); location.href="menu.htm"; } else flms_run_error("login",""); } } function flms_do_login() { USERNAME = document.f.username.value; PASSWORD = document.f.password.value; //enc_mod_key = document.f.modulekey.value; enc_mod_key = ""; PASSED_CHECKS = true; //verify fields are not blank if (USERNAME == '') { PASSED_CHECKS = false; //flms_run_error("empty","an Username"); } if (PASSWORD == '') { PASSED_CHECKS = false; //flms_run_error("empty","a Password"); } if (flms_verify_user()) { flms_set_session_cookie(); if (enc_mod_key != "") flms_dec_module(enc_mod_key); location.href="menu.htm"; } else flms_run_error("login",""); } function flms_set_session_cookie() { document.cookie = "username=" + USERNAME +"; path=" + COOKIE_PATH + ";"; } function flms_verify_user() { //get cookie record for this user KARTA_USER = get_cookie_value("KU_" + PROG_ID + "_" + USERNAME + "_user",""); if (KARTA_USER != "") { //found user, now need to verify password and parse data if (PASSWORD != decrypt(get_sub_cookie_value("pwd",KARTA_USER,""), generate_key(),122,48)) return false; FIRST_NAME = get_sub_cookie_value("fn",KARTA_USER,""); LAST_NAME = get_sub_cookie_value("ln",KARTA_USER,""); return true; } return false; } function flms_do_register() { PASSED_CHECKS = true; //get reg info from form if (FLMS_AUTO_REGISTER) { FIRST_NAME = tmp_first_name; LAST_NAME = tmp_last_name; } else { FIRST_NAME = document.f.first_name.value; LAST_NAME = document.f.last_name.value; } //verify fields are not blank if (FIRST_NAME == '') { PASSED_CHECKS = false; flms_run_error("empty","your First Name"); } if (LAST_NAME == '') { PASSED_CHECKS = false; flms_run_error("empty","your Last Name"); } //save info to cookie if passed checks if (FLMS_AUTO_LOGIN) { var tmp_user_id = get_url_value('user_id'); USERNAME = tmp_user_id; PASSWORD1 = encrypt(USERNAME, generate_key(),122,48); PASSWORD2 = PASSWORD1; } else { USERNAME = document.f.username.value; if (USERNAME == '') { PASSED_CHECKS = false; flms_run_error("empty","an Username"); } PASSWORD1 = document.f.password1.value; PASSWORD2 = document.f.password2.value; if ((PASSWORD1 == '') || (PASSWORD2 == '')) { PASSED_CHECKS = false; flms_run_error("empty","a Password"); } //verify passwords if (PASSWORD1 != PASSWORD2) { PASSED_CHECKS = false; flms_run_error("passwords",""); document.f.password1.value = ""; document.f.password2.value = ""; } //encode password PASSWORD1 = encrypt(PASSWORD1, generate_key(),122,48); var tmp_user_id = USERNAME; } //verify username is not in use if (flms_dup_username(USERNAME)) { PASSED_CHECKS = false; flms_run_error("dupUser",""); } if (PASSED_CHECKS && tmp_user_id != null) { //register user //set general user cookie flms_set_cookie_data(PROG_ID,tmp_user_id,"user","fn|" + FIRST_NAME + "&ln|" + LAST_NAME + "&pwd|" + PASSWORD1 + "&time|0"); //set bookmark/location cookie //flms_set_cookie_data(PROG_ID,tmp_user_id,"loc",flms_add_sco_locs(NUMSCOS,NUMSUBSCOS)); //set status cookie flms_set_cookie_data(PROG_ID,tmp_user_id,"status",flms_add_sco_status(NUMSCOS,NUMSUBSCOS)); if (!FLMS_AUTO_REGISTER) alert("Registration Complete!"); location.href="relogin.htm?username=" + USERNAME + "&password=" + PASSWORD1; } else { alert("Registration Failed!"); } } function flms_dup_username(tmp_username) { //check to see if this user is in cookie, return true if so. if (get_cookie_value("KU_" + PROG_ID + "_" + tmp_username + "_user","") == null) return true; else return false; } function flms_get_sco_status(tmp_sco,tmp_sub_sco) { //get sco or sub sco status tmp_status = "n"; tmp_status_list = get_cookie_value("KU_" + PROG_ID + "_" + get_cookie_value("username","") + "_status",""); if (tmp_status_list != "") { tmp_status = get_item_in_list(get_item_in_list(tmp_status_list,tmp_sco,"&"),tmp_sub_sco,"|"); } return tmp_status; } function flms_get_sco_loc(tmp_sco,tmp_dt,tmp_sub_sco) { //get sco or sub sco status tmp_loc = "0"; tmp_loc_list = get_cookie_value("KU_" + PROG_ID + "_" + get_cookie_value("username","") + "_loc_" + tmp_dt,""); if (tmp_loc_list == "") { //need to populate this location DT tmp_loc_list = flms_add_sco_locs(NUMSCOS,NUMSUBSCOS); flms_set_cookie_data(PROG_ID,get_cookie_value("username",""),"loc_" + tmp_dt,tmp_loc_list); } if (tmp_loc_list != "") { tmp_loc = get_item_in_list(get_item_in_list(tmp_loc_list,tmp_sco,"&"),tmp_sub_sco,"|"); } return tmp_loc; } function flms_get_mod_complete(tmp_start_sco, tmp_end_sco) { for (b = tmp_start_sco; b < tmp_end_sco + 1; b++) { var tmp_value = flms_get_sco_status(b,"1"); if ((tmp_value != "c") && (tmp_value != "p")) { return false; } } return true; } function flms_set_mod_complete(tmp_start_sco, tmp_end_sco) { for (b = tmp_start_sco; b < tmp_end_sco + 1; i++) { flms_set_sco_status(b,"1","c"); } } function flms_set_sco_status(tmp_sco,tmp_sub_sco,tmp_status) { var tmp_val = ""; var tmp_usr = ""; //get sco status cookie tmp_usr = get_cookie_value("username",""); tmp_val = flms_get_cookie_data(PROG_ID,tmp_usr,"status"); if (tmp_val != "") { tmp_val = set_item_in_list(tmp_val,set_item_in_list(get_item_in_list(tmp_val,tmp_sco,"&"),tmp_status,tmp_sub_sco,"|"),tmp_sco,"&"); flms_set_cookie_data(PROG_ID,tmp_usr,"status",tmp_val); } else alert(flms_run_error("lms")); } function flms_set_sco_loc(tmp_sco,tmp_dt,tmp_sub_sco,tmp_loc) { var tmp_val = ""; var tmp_usr = ""; //get sco loc cookie tmp_usr = get_cookie_value("username",""); tmp_val = flms_get_cookie_data(PROG_ID,tmp_usr,"loc_" + tmp_dt); if (tmp_val == "") { //need to populate this location DT tmp_val = flms_add_sco_locs(NUMSCOS,NUMSUBSCOS); } if (tmp_val != "") { tmp_val = set_item_in_list(tmp_val,set_item_in_list(get_item_in_list(tmp_val,tmp_sco,"&"),tmp_loc,tmp_sub_sco,"|"),tmp_sco,"&"); flms_set_cookie_data(PROG_ID,tmp_usr,"loc_" + tmp_dt,tmp_val); } else alert(flms_run_error("lms")); } function flms_add_session_time(session_time) { //note all times are in minutes tmp_usr = get_cookie_value("username",""); tmp_val = flms_get_cookie_data(PROG_ID,tmp_usr,"user"); if (tmp_val != "") { var total_session_time = parseInt(session_time) + parseInt(get_sub_cookie_value("time",tmp_val,"")); tmp_val = set_item_in_list(tmp_val,set_item_in_list(get_item_in_list(tmp_val,"4","&"),total_session_time.toString(),"2","|"),"4","&"); flms_set_cookie_data(PROG_ID,tmp_usr,"user",tmp_val); } } function flms_add_sco_locs(tmp_num_scos, tmp_num_sub_scos) { var tmp_value = ""; for (i = 0; i < tmp_num_scos; i++) { //add master sco location tmp_value += "0|"; //add subsco locations for (j = 0; j < tmp_num_sub_scos[i]; j++) { tmp_value += "0|"; } //add list delimiter tmp_value += "&"; } return tmp_value } function flms_add_sco_status(tmp_num_scos, tmp_num_sub_scos) { var tmp_value = ""; for (i = 0; i < tmp_num_scos; i++) { //add master sco status (n = not attempted, i = incomplete, c = complete, p = passed, f = failed) tmp_value += "n|"; //add subsco status for (j = 0; j < tmp_num_sub_scos[i]; j++) { tmp_value += "n|"; } //add list delimiter tmp_value += "&"; } return tmp_value } function flms_run_sco(tmp_dir,tmp_sco_num) { if (check_preq("SCOLINK" + convert_num_to_str(tmp_sco_num))) { location.href = tmp_dir + "/start.htm?filelms=1&sco=" + tmp_sco_num; } else alert("You must complete the modules in the order presented."); } function flms_enc_module() { mod_key = ""; num_comp = 0; for (k=0;k<6;k++) { var start_sco = eval("cMod" + k + "End") + 1; var end_sco = eval("cMod" + (k+1) + "End"); if (flms_get_mod_complete(start_sco, end_sco)) { mod_key += "C"; num_comp += 1; } else mod_key += "I"; } return encrypt(mod_key.substr(0,num_comp) + "Z" + mod_key.substr(num_comp,mod_key.length), LAST_NAME + "KARTAUSER" + PROG_ID,90,65); } function flms_dec_module(enc_mod_key) { var tmp_error = false; var tmp_num_comp = 0; //decrypt key var mod_key = decrypt(enc_mod_key,LAST_NAME + "KARTAUSER" + PROG_ID,90,65); //get numcomp var num_comp = mod_key.indexOf("Z",0); //get completion w/o validator mod_key = mod_key.substr(0,num_comp) + mod_key.substr(num_comp+1,mod_key.length); //Validate key for (i=0;i<6;i++) { tmp_char = mod_key.substr(i,1); if (tmp_char == "C") tmp_num_comp += 1 else { if (tmp_char != "I") tmp_error=true; } } if (tmp_num_comp != num_comp) tmp_error = true; if (tmp_error) { alert("Error! Invalid Module Key!\nModule info not updated!"); //parent.location.href = "login.htm"; } else { //update sco status for modules var start_sco = 0; var end_sco = 0; for (k=0;k<6;k++) { tmp_char = mod_key.substr(k,1); if (tmp_char == "C") { start_sco = eval("cMod" + k + "End") + 1; end_sco = eval("cMod" + (k+1) + "End"); flms_set_mod_complete(start_sco, end_sco); } } } } function flms_show_cert() { if (COURSE_COMPLETE) { var tmp_username = get_cookie_value("username",""); var tmp_pwd = get_sub_cookie_value("pwd",get_cookie_value("KU_"+PROG_ID+"_"+tmp_username + "_user",""),""); //show cert CertWin=open("certificate.htm","CerttWin","scrollbars=no,resizeable=no,width=700,height=400,toolbar=no,directories=no,menubar=yes,status=yes,"); //location.href="relogin.htm?username=" + tmp_username + "&password=" + tmp_pwd; } } function flms_show_code() { var tmp_username = get_cookie_value("username",""); var tmp_key = tmp_username.toUpperCase() + KEY_VALUE; alert("Your completion code is: " + convertDecStrToStr(encrypt(COMPSTR+convert_num_to_char(get_sub_cookie_value("time",get_cookie_value("KU_"+PROG_ID+"_"+tmp_username + "_user",""),"")),tmp_key,VALUE_HI,VALUE_LO)) + "\nWrite this code down, log onto the " + LMS_NAME + ", take the " + COURSE_TITLE + " (CD Version) Course\nand enter the code when prompted. This will complete the course."); } function flms_auto_login() { //check url for user_id if (FLMS_AUTO_LOGIN) { var tmp_user_id = get_url_value('user_id'); if ((tmp_user_id == null) || (isNaN(tmp_user_id))) { //use default user_id tmp_user_id = PROG_ID; } //check to see if this user is registered var tmp_key = "KU_" + PROG_ID + "_" + tmp_user_id + "_user"; if (get_cookie_value(tmp_key,"") == "") { location.href = "register.htm?user_id=" + tmp_user_id; } else { USERNAME = tmp_user_id; PASSWORD1 = encrypt(USERNAME, generate_key(),122,48); PASSWORD2 = PASSWORD1; //do auto login location.href = "relogin.htm?username=" + USERNAME + "&password=" + PASSWORD1; } } } function flms_run_error(tmp_error, tmp_arg) { if (tmp_error == "login") { alert("Login Invalid! Please try again."); //document.f.password.value=''; location.href = tmp_arg + "login.htm"; } if (tmp_error == "access") { if (!FLMS_AUTO_LOGIN) alert("You have not logged into the training. Please do so."); if (tmp_arg == "close") window.close(); else location.href = tmp_arg + "login.htm"; } if (tmp_error == "empty") { alert("You must supply " + tmp_arg + "."); } if (tmp_error == "passwords") { alert("Your passwords do not match, try again."); } if (tmp_error == "dupUser") { alert("There is already an user with this username. Please select another username."); document.f.username.value = ''; } if (tmp_error == "lms") { alert("There has been an error with the LMS system. Student Tracking is not working correctly."); } } function flms_sco_finish(tmp_href) { var END_TIME = new Date(); var BEGIN_TIME = new Date(get_cookie_value("BEGIN_TIME")); var min_date_diff = ((END_TIME - BEGIN_TIME) / 1000) / 60; min_date_diff = Math.floor(min_date_diff); if (min_date_diff == 0) min_date_diff = 1; var tmp_cur_sco = get_cookie_value("CUR_SCO") if (tmp_cur_sco != null) { //add current time to session time flms_add_session_time(min_date_diff); } //document.cookie = "CUR_SCO=; path=" + COOKIE_PATH + ";"; document.cookie = "SCO_STATUS=; path=" + COOKIE_PATH + ";"; document.cookie = "BEGIN_TIME=; path=" + COOKIE_PATH + ";"; if (RUN_TYPE == "flms") { //get all the FLMS cookie data and save it to suspend_data get_flms_cookie_data(PROG_ID,get_user_name()); //if SCO is complete, set it to "completed" if (flms_get_mod_complete(1,NUMSCOS)) { var tmp_run_type = RUN_TYPE; RUN_TYPE = ""; set_sco_status("1","c"); RUN_TYPE = tmp_run_type; } if (CONTENT_WIN != null) { /* if (tmp_cur_sco != null) { var tmp_mod_num = 0; for (w=1;w<NUMMODS;w++) { if (parseInt(tmp_cur_sco) <= MOD_END[w]) { tmp_mod_num = w; w = NUMMODS; } } CONTENT_WIN.location.href = "../mod" + tmp_mod_num + "_menu.htm"; } else { */ CONTENT_WIN.location.href = tmp_href; //} } } else { parent.location.href = tmp_href; //parent.location.href = "../relogin.htm?username=" + TEMP_USER + "&password=" + TEMP_PWD; } } function flms_set_cookie_data(tmp_prog_id,tmp_user_id,cookie_key,tmp_data) { var tmp_key = "KU_" + tmp_prog_id + "_" + tmp_user_id + "_" + cookie_key; document.cookie = tmp_key + "=" + tmp_data + "; expires=" + EXPIRE_TIME + "; path=" + COOKIE_PATH + ";"; } function flms_get_cookie_data(tmp_prog_id,tmp_user_id,cookie_key) { var tmp_key = "KU_" + tmp_prog_id + "_" + tmp_user_id + "_" + cookie_key; return get_cookie_value(tmp_key,""); } function flms_get_cur_sco() { return get_cookie_value("CUR_SCO",""); } function flms_get_flash_params(tmp_prog_id,tmp_user_id,tmp_cur_sco,tmp_dt) { var return_value = ""; //add page num return_value += "page_num=" + PAGE_NUM; //add status return_value += "&sco_status=" + get_item_in_list(flms_get_cookie_data(tmp_prog_id,tmp_user_id,"status"),tmp_cur_sco,"&"); //add location return_value += "&location=" + get_item_in_list(flms_get_cookie_data(tmp_prog_id,tmp_user_id,"loc_" + tmp_dt),tmp_cur_sco,"&"); return return_value; } function flms_get_browse() { var tmp_boolean = false if (get_cookie_value("BROWSE","false") == "true") tmp_boolean = true; return tmp_boolean; }